/// id : "1839186364845207639"
/// isDel : 0
/// createBy : "18735361162"
/// updateBy : null
/// createTime : 1727331174
/// updateTime : 1727331174
/// title : "测试自定义考勤"
/// lon : "112.572806875"
/// lat : "37.8774034645"
/// address : "太原市杏花岭区教场巷30号院"
/// distance : 100
/// clockType : 4
/// startTime : 1727280000
/// endTime : 1727452800
/// personNum : 2
/// remark : "测试自定义考勤"
/// createUserId : "1720265592295837764"
/// teamId : "1767369028910960672"
/// taskStartTime : "2024-09-26"
/// taskEndTime : "2024-09-28"
/// attendanceClockingTimeList : [{"id":"1839186365071699983","clockingId":"1839186364845207639","startTime":"08:00","endTime":"09:00","label":"整天"},{"id":"1839186365071699984","clockingId":"1839186364845207639","startTime":"14:00","endTime":"15:00","label":"整天"}]
/// idcardList : null
/// location : false

class AttendanceItemDto {
  AttendanceItemDto({
      String? id, 
      num? isDel, 
      String? createBy, 
      dynamic updateBy, 
      num? createTime, 
      num? updateTime, 
      String? title, 
      String? lon, 
      String? lat, 
      String? address, 
      num? distance, 
      num? clockType, 
      num? startTime, 
      num? endTime, 
      num? personNum, 
      String? remark, 
      String? createUserId, 
      String? teamId, 
      String? taskStartTime, 
      String? taskEndTime, 
      List<AttendanceClockingTimeList>? attendanceClockingTimeList, 
      dynamic idcardList, 
      bool? location,}){
    _id = id;
    _isDel = isDel;
    _createBy = createBy;
    _updateBy = updateBy;
    _createTime = createTime;
    _updateTime = updateTime;
    _title = title;
    _lon = lon;
    _lat = lat;
    _address = address;
    _distance = distance;
    _clockType = clockType;
    _startTime = startTime;
    _endTime = endTime;
    _personNum = personNum;
    _remark = remark;
    _createUserId = createUserId;
    _teamId = teamId;
    _taskStartTime = taskStartTime;
    _taskEndTime = taskEndTime;
    _attendanceClockingTimeList = attendanceClockingTimeList;
    _idcardList = idcardList;
    _location = location;
}

  AttendanceItemDto.fromJson(dynamic json) {
    _id = json['id'];
    _isDel = json['isDel'];
    _createBy = json['createBy'];
    _updateBy = json['updateBy'];
    _createTime = json['createTime'];
    _updateTime = json['updateTime'];
    _title = json['title'];
    _lon = json['lon'];
    _lat = json['lat'];
    _address = json['address'];
    _distance = json['distance'];
    _clockType = json['clockType'];
    _startTime = json['startTime'];
    _endTime = json['endTime'];
    _personNum = json['personNum'];
    _remark = json['remark'];
    _createUserId = json['createUserId'];
    _teamId = json['teamId'];
    _taskStartTime = json['taskStartTime'];
    _taskEndTime = json['taskEndTime'];
    if (json['attendanceClockingTimeList'] != null) {
      _attendanceClockingTimeList = [];
      json['attendanceClockingTimeList'].forEach((v) {
        _attendanceClockingTimeList?.add(AttendanceClockingTimeList.fromJson(v));
      });
    }
    _idcardList = json['idcardList'];
    _location = json['location'];
  }
  String? _id;
  num? _isDel;
  String? _createBy;
  dynamic _updateBy;
  num? _createTime;
  num? _updateTime;
  String? _title;
  String? _lon;
  String? _lat;
  String? _address;
  num? _distance;
  num? _clockType;
  num? _startTime;
  num? _endTime;
  num? _personNum;
  String? _remark;
  String? _createUserId;
  String? _teamId;
  String? _taskStartTime;
  String? _taskEndTime;
  List<AttendanceClockingTimeList>? _attendanceClockingTimeList;
  dynamic _idcardList;
  bool? _location;
AttendanceItemDto copyWith({  String? id,
  num? isDel,
  String? createBy,
  dynamic updateBy,
  num? createTime,
  num? updateTime,
  String? title,
  String? lon,
  String? lat,
  String? address,
  num? distance,
  num? clockType,
  num? startTime,
  num? endTime,
  num? personNum,
  String? remark,
  String? createUserId,
  String? teamId,
  String? taskStartTime,
  String? taskEndTime,
  List<AttendanceClockingTimeList>? attendanceClockingTimeList,
  dynamic idcardList,
  bool? location,
}) => AttendanceItemDto(  id: id ?? _id,
  isDel: isDel ?? _isDel,
  createBy: createBy ?? _createBy,
  updateBy: updateBy ?? _updateBy,
  createTime: createTime ?? _createTime,
  updateTime: updateTime ?? _updateTime,
  title: title ?? _title,
  lon: lon ?? _lon,
  lat: lat ?? _lat,
  address: address ?? _address,
  distance: distance ?? _distance,
  clockType: clockType ?? _clockType,
  startTime: startTime ?? _startTime,
  endTime: endTime ?? _endTime,
  personNum: personNum ?? _personNum,
  remark: remark ?? _remark,
  createUserId: createUserId ?? _createUserId,
  teamId: teamId ?? _teamId,
  taskStartTime: taskStartTime ?? _taskStartTime,
  taskEndTime: taskEndTime ?? _taskEndTime,
  attendanceClockingTimeList: attendanceClockingTimeList ?? _attendanceClockingTimeList,
  idcardList: idcardList ?? _idcardList,
  location: location ?? _location,
);
  String? get id => _id;
  num? get isDel => _isDel;
  String? get createBy => _createBy;
  dynamic get updateBy => _updateBy;
  num? get createTime => _createTime;
  num? get updateTime => _updateTime;
  String? get title => _title;
  String? get lon => _lon;
  String? get lat => _lat;
  String? get address => _address;
  num? get distance => _distance;
  num? get clockType => _clockType;
  num? get startTime => _startTime;
  num? get endTime => _endTime;
  num? get personNum => _personNum;
  String? get remark => _remark;
  String? get createUserId => _createUserId;
  String? get teamId => _teamId;
  String? get taskStartTime => _taskStartTime;
  String? get taskEndTime => _taskEndTime;
  List<AttendanceClockingTimeList>? get attendanceClockingTimeList => _attendanceClockingTimeList;
  dynamic get idcardList => _idcardList;
  bool? get location => _location;

  Map<String, dynamic> toJson() {
    final map = <String, dynamic>{};
    map['id'] = _id;
    map['isDel'] = _isDel;
    map['createBy'] = _createBy;
    map['updateBy'] = _updateBy;
    map['createTime'] = _createTime;
    map['updateTime'] = _updateTime;
    map['title'] = _title;
    map['lon'] = _lon;
    map['lat'] = _lat;
    map['address'] = _address;
    map['distance'] = _distance;
    map['clockType'] = _clockType;
    map['startTime'] = _startTime;
    map['endTime'] = _endTime;
    map['personNum'] = _personNum;
    map['remark'] = _remark;
    map['createUserId'] = _createUserId;
    map['teamId'] = _teamId;
    map['taskStartTime'] = _taskStartTime;
    map['taskEndTime'] = _taskEndTime;
    if (_attendanceClockingTimeList != null) {
      map['attendanceClockingTimeList'] = _attendanceClockingTimeList?.map((v) => v.toJson()).toList();
    }
    map['idcardList'] = _idcardList;
    map['location'] = _location;
    return map;
  }

}

/// id : "1839186365071699983"
/// clockingId : "1839186364845207639"
/// startTime : "08:00"
/// endTime : "09:00"
/// label : "整天"

class AttendanceClockingTimeList {
  AttendanceClockingTimeList({
      String? id, 
      String? clockingId, 
      String? startTime, 
      String? endTime, 
      String? label,}){
    _id = id;
    _clockingId = clockingId;
    _startTime = startTime;
    _endTime = endTime;
    _label = label;
}

  AttendanceClockingTimeList.fromJson(dynamic json) {
    _id = json['id'];
    _clockingId = json['clockingId'];
    _startTime = json['startTime'];
    _endTime = json['endTime'];
    _label = json['label'];
  }
  String? _id;
  String? _clockingId;
  String? _startTime;
  String? _endTime;
  String? _label;
AttendanceClockingTimeList copyWith({  String? id,
  String? clockingId,
  String? startTime,
  String? endTime,
  String? label,
}) => AttendanceClockingTimeList(  id: id ?? _id,
  clockingId: clockingId ?? _clockingId,
  startTime: startTime ?? _startTime,
  endTime: endTime ?? _endTime,
  label: label ?? _label,
);
  String? get id => _id;
  String? get clockingId => _clockingId;
  String? get startTime => _startTime;
  String? get endTime => _endTime;
  String? get label => _label;

  Map<String, dynamic> toJson() {
    final map = <String, dynamic>{};
    map['id'] = _id;
    map['clockingId'] = _clockingId;
    map['startTime'] = _startTime;
    map['endTime'] = _endTime;
    map['label'] = _label;
    return map;
  }

}